// pages/goods_list/goods_list.js
import request from "../../request/request"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // tabs栏数据
    selectTabs:[
      {
        id:0,
        name:'综合',
        isActive:true
      },
      {
        id:1,
        name:'价格',
        isActive:false
      },
      {
        id:2,
        name:'销量',
        isActive:false
      }
    ],
    goodsList:[]
  },
  // 请求参数放data外面，好处是可以直接通过js方式改变值，坏处是wxml里面不能用
  queryParams:{
    query:"",
    cid:"",
    pagenum:1,
    pagesize:10
  },
  // 总数
  total:0,
  // 临时存储商品列表数据
  tempArr:[],
  // 获取点击的索引
  getIndex(e){
    let index=e.detail.data;
    let arr=this.data.selectTabs
    arr.forEach((item,i)=>{
      index==i?item.isActive=true:item.isActive=false
    })
    this.setData({
      selectTabs:arr
    })
  },

  // 获取商品列表数据
  getGoodsList(){
    request({
      url:"goods/search",
      data:this.queryParams
    }).then(res=>{
      // console.log(res.data.message.goods);
      this.setData({
        // 做一个数据拼接
        goodsList:[...this.tempArr,...res.data.message.goods]
      })
      this.total=res.data.message.total
      this.tempArr=res.data.message.goods
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // cid
    // console.log(options);
    this.queryParams.cid=options.cid
    // console.log(this.queryParams);
    this.getGoodsList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log(1);
    // 把临时数据清空
    this.tempArr=[],
    // pagenum重置归1
    this.queryParams.pagenum=1
    // 发请求
    this.getGoodsList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // 首先计算出当前最大的页码数
    let maxNum=Math.ceil(this.total/this.queryParams.pagesize)
    // 当前页码
    this.queryParams.pagenum++;
    // 每次触底时自增
    // console.log(maxNum,this.queryParams.pagenum);  
    // 判断当前pagenum是否大于最大页码数
    if(this.queryParams.pagenum>maxNum){
      // wx弹窗,mask为true的时候,遮罩层，弹窗显示时，点击不到页面里的东西
      wx.showToast({
        title:"没有数据了!",
        mask:true
      })
    }else{
      this.getGoodsList()
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})